package com.ruoyi.safe.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 质量罚款/扣分台账对象 biz_safe_fine
 *
 * @author ruoyi
 * @date 2023-11-11
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BizSafeFine extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    private String createByNickName;
    /** 序号 */
    private Long id;

    /** 编号 */
    @Excel(name = "编号")
    private String safeNumber;

    /** 罚款单位/扣分项目 */
    @Excel(name = "罚款单位/扣分项目")
    private String fineUnit;

    /** 罚款对象/扣分对象 */
    @Excel(name = "罚款/扣分对象")
    private String fineUser;

    /** 罚款/扣分说明 */
    @Excel(name = "罚款/扣分说明")
    private String fineExplain;

    /** 罚款/扣分来源(字典) */
    @Excel(name = "罚款/扣分来源(字典)")
    private String fineSource;

    /** 罚款金额(元) */
    @Excel(name = "罚款金额(元)/扣分分数(分)")
    private BigDecimal fineMoney;

    /** 附件 */
    @Excel(name = "附件")
    private String fineAttachment;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 罚款/扣分按钮 */
    @Excel(name = "罚款/扣分")
    private String fineButton;

    /** 项目id */
    @Excel(name = "项目id")
    private Long projectId;

    private String createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 检查记录id【
     */
    private Long recordId;

    /** 操作说明 */
    @Excel(name = "操作说明")
    private String operatorExplain;

    private List<BizSafeAttach> FineAttachments;

    public List<BizSafeAttach> getFineAttachments() {
        return FineAttachments;
    }

    public void setFineAttachments(List<BizSafeAttach> fineAttachments) {
        FineAttachments = fineAttachments;
    }

    /**
     * 操作记录id
     */
    private Long bizRectifyReviewId;

    @Override
    public String getCreateBy() {
        return createBy;
    }

    @Override
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setSafeNumber(String safeNumber)
    {
        this.safeNumber = safeNumber;
    }

    public String getSafeNumber()
    {
        return safeNumber;
    }
    public void setFineUnit(String fineUnit)
    {
        this.fineUnit = fineUnit;
    }

    public String getFineUnit()
    {
        return fineUnit;
    }
    public void setFineUser(String fineUser)
    {
        this.fineUser = fineUser;
    }

    public String getFineUser()
    {
        return fineUser;
    }
    public void setFineExplain(String fineExplain)
    {
        this.fineExplain = fineExplain;
    }

    public String getFineExplain()
    {
        return fineExplain;
    }
    public void setFineSource(String fineSource)
    {
        this.fineSource = fineSource;
    }

    public String getFineSource()
    {
        return fineSource;
    }
    public void setFineMoney(BigDecimal fineMoney)
    {
        this.fineMoney = fineMoney;
    }

    public BigDecimal getFineMoney()
    {
        return fineMoney;
    }
    public void setFineAttachment(String fineAttachment)
    {
        this.fineAttachment = fineAttachment;
    }

    public String getFineAttachment()
    {
        return fineAttachment;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setFineButton(String fineButton)
    {
        this.fineButton = fineButton;
    }

    public String getFineButton()
    {
        return fineButton;
    }
    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId()
    {
        return projectId;
    }

    public String getOperatorExplain() {
        return operatorExplain;
    }

    public void setOperatorExplain(String operatorExplain) {
        this.operatorExplain = operatorExplain;
    }

    public Long getBizRectifyReviewId() {
        return bizRectifyReviewId;
    }

    public void setBizRectifyReviewId(Long bizRectifyReviewId) {
        this.bizRectifyReviewId = bizRectifyReviewId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("safeNumber", getSafeNumber())
            .append("fineUnit", getFineUnit())
            .append("fineUser", getFineUser())
            .append("fineExplain", getFineExplain())
            .append("fineSource", getFineSource())
            .append("fineMoney", getFineMoney())
            .append("fineAttachment", getFineAttachment())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("fineButton", getFineButton())
            .append("projectId", getProjectId())
            .append("projectId", getProjectId())
            .append("operatorExplain", getOperatorExplain())
            .append("bizRectifyReviewId", getBizRectifyReviewId())
            .toString();
    }
}
